package com.demo.amusic;

import android.app.Application;
import android.content.Context;


/**
 * getApplication()
 * 了解getApplication()方法，首先要了解Application类，Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个，所以Application可以说是单例（singleton）模式的一个类。
 * Application和Activity,Service一样是Android框架的一个系统组件，当Android程序启动时系统会创建一个Application对象，用来存储系统的一些信息。
 * 通过源码我们可以发现，Application和Activity都继承自Context，他们都是环境上下文，只不过Application是随着我们的应用（或者包）启动的时候就存在的环境，
 * Activity是一个界面的环境。Application是在应用一创建就初始化了，而且是在应用运行时一直存在的，那我们可以把它当做是一个全局变量来使用，
 * 可以保存一些共享的数据，或者说做一些工具类的初始化工作。在平时的开发中，有时候可能会需要一些全局数据,通常要新建一个类来继承Application,
 * 使用getApplication()用于获取Application的一个对象实例：
 * 创建此类后还需要在manifests.xml中配置
 * <application
 *         android:name=".MyApplication"
 *         ...
 */
public class MyApplication extends Application {
    private static MyApplication instance;

    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;
    }

    // 获取Application
    public static Context getContext() {
        return instance;
    }
}